// let arr = [1, 21, 7, 5, 1, 2, 21];
// //传入参数两个 第一个查找的项  第二个参数可选 指定开始查找的下标
// //有返回下标  没有返回-1
// let i = arr.indexOf(1, 1);
// console.log(i);


// function foo() {
//     for (let i = 0; i <= 3; i++) {
//         console.log(i);
//     }
// }
// let foo = a => a > 10;

// let boo=foo(10)
// console.log(boo);

// let fn = function () {

// }


// let str = 'aqwewwrtvxcacvzxa';
// let arr2 = str.split('w');
// console.log(arr2);



// let arr = [1, 2, 3, 4, 5, 6, 7, 8]
// arr.filter((item, index, arr) => {
//     return item % 2 !== 0
// })

// function myFilter(arr, callback) {
//     let newArr = [];
//     for (let i = 0; i < arr.length; i++) {
//         if (callback(arr[i])) {
//             newArr.push(arr[i])
//         }
//     }
//     return newArr;
// }

// let newArr=myFilter(arr, (item) => {
//    return item % 2 == 0
// })
// console.log(newArr);
//arr.some(()=>{}) 

// function mySome(arr, callback) {
//     for (let i = 0; i < arr.length; i++) {
//         console.log(i);
//         if (callback(arr[i])) {
//             return true;
//         }
//     }

// }
// let boo = mySome(arr, function (item) {
//     return item > 5
// })
// console.log(boo);
//arr.every(()=>{})

//计数函数

// function myCount(arr, callback) {
//     let count = 0;
//     for (let i = 0; i < arr.length; i++) {
//         if (callback(arr[i])) {
//             count++;
//         }
//     }
//     return count;
// }
// let c = myCount(arr, function (item) {
//     return item > 5
// });
// console.log(c);

//arr.sort((a,b)=>a-b)
let arr = [{ n: 12, f: 4 }, { n: 11, f: 3 }, { n: 18, f: 1 }];
function mySort(arr, callback) {
    for (let i = 0; i < arr.length - 1; i++) {
        for (let j = 0; j < arr.length - 1 - i; j++) {
            if (callback(arr[j], arr[j + 1]) > 0) {
                [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
            }
        }
    }
}
[53,34,1,1] [{},{},{}]
mySort(arr, function (a, b) {
    return a.n - b.n
})
console.log(arr);

